Artificial neural networks (ANN) can be formed from individual artificial neurons that are emulated using software, integrated hardware, or other discrete elements. Neuromorphic computing can employ ANNs, which focuses on using electronic components such as analog/digital circuits in integrated systems to mimic the human brain, and to attempt a greater understanding of the neuro-biological architecture of the neural system. Neuromorphic computing emphasizes implementing models of neural systems to understand how the morphology of individual neurons, synapses, circuits, and architectures lead to desirable computations. Such bio-inspired computing offers enormous potential for very low power consumption and high parallelism.
Many neuromorphic computing implementations use semiconductor based random-access memory to emulate the behavior of biological neurons. More recently, emerging non-volatile memory devices, including phase change memory, resistive memory, and magnetic random-access memory, have been proposed to be used to emulate biological neurons as well. However, several mathematical operations used to implement neuromorphic computing and artificial neural networks require additional circuitry beyond the corresponding artificial neurons. This additional circuitry can inhibit large-scale integration efforts for artificial neural networks, which might increase footprint and cost for implementing artificial neural networks. Some example mathematical operations include convolution operations, multiplication operations, or matrix multiplication operations.